package com.lqk.java1;


import sun.security.util.CurveDB;

import java.net.URL;
import java.security.Provider;

/**
 * @author lqk
 * @date 2021/10/31 18:15
 */
public class ClassLoaderTest1 {
    public static void main(String[] args) {
        System.out.println("*********启动类加载器**********");
        // 获取BootStrapClassLoader 能够加载的api的路径
        URL[] urls = sun.misc.Launcher.getBootstrapClassPath().getURLs();
        for (URL element : urls){
            System.out.println(element.toExternalForm());
        }
        // 从上面的路径随意选择一个类，来看看它的类加载器是什么：引导类加载器
        ClassLoader classLoader = Provider.class.getClassLoader();
        System.out.println(classLoader);    // null

        System.out.println("*********扩展类加载器**********");
        String extDirs = System.getProperty("java.ext.dirs");
        for (String path : extDirs.split(";")){
            System.out.println(path);
        }

        // 从上面的路径随意选择一个类，来看看它的类加载器是什么：扩展类加载器
        ClassLoader classLoader1 = CurveDB.class.getClassLoader();
        System.out.println(classLoader1);   // sun.misc.Launcher$ExtClassLoader@7ea987ac
    }
}
